package com.RedRiver.hospitalsystem.personal_service.service;

import com.RedRiver.hospitalsystem.personal_service.infra.model.Subject;
import com.RedRiver.hospitalsystem.personal_service.service.Form.*;
import com.RedRiver.hospitalsystem.personal_service.service.info.SubjectPageInfo;
import com.RedRiver.hospitalsystem.result.Result;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 龙世超
 * @since 2022-04-26
 */
public interface SubjectService extends IService<Subject> {

    IPage<SubjectPageInfo> findPageSubject(PageForm form);

    Result addSubject(SubjectForm subjectForm);

    Result changeSubject(NewSubjectForm newSubjectForm);

    Result delSubject(Integer subjectId);

    IPage<SubjectPageInfo> findPageSubjectName(SubjectNamePageForm subjectNamePageForm);

    IPage<SubjectPageInfo> findAllSubjectDepartment(SubjectDepartmentPageForm subjectDepartmentPageForm);
}
